home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
rbbs_pc
/
huh100.zip
/
HUH.DOC
next >
Wrap
Text File
|
1990-07-24
|
9KB
|
249 lines
Huh? 1.00 -- A wacky little RBBS-PC message base packing program.
Copyright 1990 by John Morris All Rights Reserved
Warranty
--------
None. The program is provided as is. Huh? was written while listening
to several different Pink Floyd CD's, so I cannot guarantee how the
program will act/react. If you have problems with Huh? feel free to
give me a call. I'll help you out as much as I can.
Huh?
----
If there is one thing I hate to do is take down my system at any time,
whether its for maintenance, or mail. Mail, I'm kinda stuck in the time
the system must be down, so I always want my maintenance to run as quickly
and efficiently as possible. One of the most time consuming processes
which occurs each night is the packing of my messages bases, some of which
are 1 meg in size, but most are 200K to 400K in size. Having many bases
that size drastically increases my event time.
Years ago, I found a program which packed a message base extremely fast.
I don't even remember its name now. It never went beyond beta test phase,
so I never found a truly reliable copy of the program. The point was, it
packed a message base in seconds.
This led me to design Huh?. I started Huh? as 'QPack' back in April '90,
but due to some unresolvable problems I encountered, I trashed the 'QPack'
project. It remained on my disk as a reminder though. So in July '90 I
sat down, and reworked the whole program on a few sheets of paper, then I
went and wrote Huh?. Huh? uses a large buffer to load in messages, it then
'packs' the buffer, and writes out the new data. It repeats this process
until it reaches the endof the file. Huh? tries to keep the buffer as
full as possible, so it can write as many bytes as possible at one time.
Huh? runs a bit differently than other message base packing programs. It
uses a 'DEF' file which contains the names of the files to be packed, and
the options to be used on that specific message base.This means Huh? can
pack several messages bases in one running, not just one base per run. This
saves a bit of time needed to load Huh?. Huh? also has a burst mode, where
it doesn't print anything to the screen while the packing is in progress.
This speeds up the processing several times. Somewhere on the order of
2 to 5 times depending on the packing method and options.
Huh? is written in 'C'. This results in a VERY fast, LITTLE program. Huh?,
as I write this, is a 14K program, and that's with debugging code in it.
With careful programming, you can read, write, and modify RBBS-PC's message
bases with no problems.
Due to the way Huh? runs, it is MUCH faster when it has to copy messages,
rather than when it has to delete them. So the fewer messages Huh? has to
delete, the faster it runs. This means it is best to run Huh? often. At
least once a week, but the best time period is once per day. If you don't
run Huh? very often, that is perfectly alright also. Even when it has to
delete a lot of messages, it is still pretty fast.
Typically, Huh? will pack a 250k message base in about 10 seconds in burst
mode. This is on a Alloy slave network, using a V20 at 8Mhz. And I've tested
it on a 286 machine from a floppy. 400K in 40 seconds. Your times may vary.
Huh? Command Line Switches
--------------------------
Huh? currently has one command line switch. It allows you to specify a
different DEF file to use. Huh? usually uses the DEF file 'HUH.DEF'
you can specify any name you wish. Do it with the '/C' switch like so:
Syntax is: /Cfilename
or,
HUH /CC:\RBBS\HUH1.DEF
If you don't use the /C switch, Huh? uses the default HUH.DEF file.
HUH.DEF format
--------------
HUH.DEF is a simple text file. Each line contains two different parameters.
like this:
drive:\path\filename.ext options
The first is the drive, path, filename for your messages base. The second
tells Huh? which options to use on that message base. So a typical line
might look like:
C:\RBBS\MESSAGES EPB
The options are explained below.
You may have several files in HUH.DEF, for instance, if you wished to pack
your main message file, your JOKES conference file, and your RBBS conference
file, you might have a HUH.DEF that looks like this:
C:\RBBS\MESSAGES ED90PB
C:\RBBS\JOKESM.DEF EDB
C:\RBBS\RBBSM.DEF B
You can also have comments in your HUH.DEF file, simply start the comment
line with a semi-colon ';'
Options for packing message bases
---------------------------------
Currently, there are 6 options possible when packing a message base. They
are:
B - Burst mode, which means Huh? won't print anything to the screen while
packing is in progress.
Dxx - Delete msgs older than 'xx' days. So if you had 'D90' Huh? would
delete all messages older than 90 days.
E - Means that this base is an 'elastic' message base. In other words, it
can GROW, or it can SHRINK, depending on the amount of messages
contained in the file. Make sure this command matches the RBBS
Config parameter 'Messages can GROW?'. If you have that RBBS parameter
set to NO, and tell Huh? to use the 'E' command, Huh? will convert
the message base to one that can grow, even if RBBS doesn't expect
it! If you don't tell Huh? to use the E command, but it determines
that this message base 'can GROW' it will switch itself over to the
'E' command automatically. So be careful!
K - Kill old message base after packing. If you are NOT using Pack in
place mode, this command will tell Huh? to delete the old message
base after it has packed it.
P - Pack in place. This tells Huh? to put the newly packed message base
'into itself'. It does not create a back-up file of the old message
base. The 'P' option always turns the 'K' option off.
Sxx - This command allows you to tell Huh? not to delete message with a
security level of 'xx' or higher. This is similar to the RBBS
User base packing command 'don't delete users with security level
xx or above' The command 'S10' would tell Huh? not to delete
messages with a security level of 10 or higher. This is used with
the 'Dxx' command. In this way, you can continue to keep older
messages with high security in your message base.
Some examples:
Below I will show some example lines of a HUH.DEF file, and explains
what each one does.
C:\RBBS\MESSAGES ED90PB
C:\RBBS\JOKESM.DEF E
C:\RBBS\RBBSM.DEF BK
The first line will pack C:\RBBS\MESSAGES. Huh is told that this is an
elastic message base, so it can grow or shrink. It will delete messages
older than 90 days. It will do the packing into C:\RBBS\MESSAGES, and
finally, it will run in burst mode.
The second line works as follows. Huh? will pack C:\RBBS\JOKESM.DEF.
First, it will rename JOKESM.DEF to JOKESM.BAK. Huh? will then copy the
message base into the new JOKESM.DEF file. As it packs the message base
it will display which messages are deleted and which ones aren't (ie:
we aren't using burst mode). Huh? also uses the Elastic option.
Last line. Huh? will pack C:\RBBS\RBBSM.DEF in burst mode. First,
it will rename RBBSM.DEF to RBBSM.BAK. It will the pack RBBSM.BAK into
RBBSM.DEF. When the packing is complete, Huh? will delete RBBSM.BAK.
Problems?
You can get hold of me several ways.
You can write me a letter.
-------------------------
John Morris
2620 Emily St.
Reno, NV 89503
Doesn't matter if its a fan letter, or a hate letter. It'll be good to
hear from ya.
You can call my BBS.
--------------------
The Reno RBBS
(702) 746-1364
(702) 746-1365
Free access on the first call, and SysOps won't get deleted from my user
base, even when I purge it...
You can Net/Echo mail me.
-------------------------
RBBS-Net 8:919/1 or 2
I currently haunt a few echoes.. mainly RBBS-Net ones though.
Try RBBS-SYSOP, it'll be your best bet. I don't currently belong to
Fido-Net, and I probably never will. I'm not a fan of ANY type of
bureaucracy and even some folks in the RBBS-Net are starting to
scare me.
Registration
------------
Huh? is distributed as shareware! So share it!
If you like and use Huh? often, I suggest that you send in a $20
shareware fee. This will help ensure future revisions of Huh?.
For $25 I will send a disk with the latest version of Huh? along
with a copy of its 'C' source code.
I have stopped or slowed development of programs way down in the
past due to what I conceived as lack of interest. Your registration
fee helps me realize what kind of interest there is in a program.
Version History
---------------
07/24/90 - Huh 1.00 thrust upon the RBBS-PC users of the world.. Gee, I hope
it works good for everyone else.. <grin>
Upped Buffer size from 32K to 48K -- This speeds up non-burst
mode by about 40%
07/01/90 - Huh project started.. 32K packing buffer..
Huh's ZIP file protection
-------------------------
Huh? is ZIP using PKZIP's Authenticity Verification feature. This is for
your protection. If you received a copy of HUH100.ZIP which has been
modified since I ZIPped it, and you don't want to take the chance, you
can get a clean copy off of my BBS.